package org.cn.zhaozhx.services;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;

/**
 * @ClassName: org.cn.zhaozhx.services.GoldPriceService
 * @Description: 获取黄金价格
 *
 * 修改历史:
 * 版本     日期        作者          Description
 * ----------------------------------------------
 *  1.0    2012-6-25      zhaozhx      1. 创建.
 */
public class GoldPriceService {
    public static String url = "http://www.cngold.org/sgapp/price/gold/index.do";
    
    public static void getPrice() throws ClientProtocolException, IOException {
        //参数
        //brandId 21：周生生 9:周大福 14：老凤祥 26：周六福 25：六福 24：菜百 23：老庙 22：金至尊 
        //startTime 2012-06-01
        //endTime 
        //currentPage 当前页
        
        HttpClient client = new DefaultHttpClient();
        //        HttpHost proxy = new HttpHost("proxy-bj1.petrochina", 8080);
        //        client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
        //1.创建HttpPost对象
        HttpPost post = new HttpPost(url);
        //设置HTTP POST请求参数必须用NameValuePair对象 
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("brandId", "21"));
        params.add(new BasicNameValuePair("startTime", "2012-01-01"));
        params.add(new BasicNameValuePair("endTime", "2012-06-25"));
        params.add(new BasicNameValuePair("currentPage", "123"));
        
        //设置HTTP POST请求参数 
        post.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
        
        //2.使用execute方法发送HTTP POST请求，并返回HttpResponse对象 
        HttpResponse resonse = client.execute(post);
        if (resonse.getStatusLine().getStatusCode() == 200) {
            String result = EntityUtils.toString(resonse.getEntity());
            System.out.println(result);
        }
    }
    
    public static void main(String[] args) {
        try {
            getPrice();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    /*public void onClick(View view) {
        //  读者需要将本例中的IP换成自己机器的IP  
        String url = "http://:/querybooks/QueryServlet";
        HttpResponse httpResponse = null;
        int type = 0;
        try {
            switch (type) {
            //  提交HTTP GET请求  
                case 1:
                    //  向url添加请求参数  
                    url += "?bookname=" + "".toString();
                    //  第步：创建HttpGet对象  
                    HttpGet httpGet = new HttpGet(url);
                    //  第步：使用execute方法发送HTTP GET请求，并返回HttpResponse对象
                    httpResponse = new DefaultHttpClient().execute(httpGet);
                    //  判断请求响应状态码，状态码为表示服务端成功响应了客户端的请求  
                    if (httpResponse.getStatusLine().getStatusCode() == 200) {
                        //  第步：使用getEntity方法获得返回结果  
                        String result = EntityUtils.toString(httpResponse.getEntity());
                        //  去掉返回结果中的"\r"字符，否则会在结果字符串后面显示一个小方格  
                    }
                    break;
                //  提交HTTP POST请求  
                case 0:
                    //  第步：创建HttpPost对象  
                    HttpPost httpPost = new HttpPost(url);
                    //  设置HTTP POST请求参数必须用NameValuePair对象  
                    List<NameValuePair> params = new ArrayList<NameValuePair>();
                    params.add(new BasicNameValuePair("bookname", ""));
                    //  设置HTTP POST请求参数  
                    httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
                    //  第步：使用execute方法发送HTTP POST请求，并返回HttpResponse对象  
                    httpResponse = new DefaultHttpClient().execute(httpPost);
                    if (httpResponse.getStatusLine().getStatusCode() == 200) {
                        //  第步：使用getEntity方法获得返回结果  
                        String result = EntityUtils.toString(httpResponse.getEntity());
                        //  去掉返回结果中的"\r"字符，否则会在结果字符串后面显示一个小方格  
                    }
                    break;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }*/
}
